home *** CD-ROM | disk | FTP | other *** search
- import javax.microedition.lcdui.Canvas;
- import javax.microedition.lcdui.Graphics;
- import javax.microedition.lcdui.Image;
-
- class ImageCanvas extends Canvas {
- protected int width = ((Canvas)this).getWidth();
- protected int height = ((Canvas)this).getHeight();
- protected int scrollPixels = 5;
- protected int offsetX;
- protected int offsetY;
- protected Image image;
-
- void setImage(Image var1) {
- this.image = var1;
- this.offsetX = 0;
- this.offsetY = 0;
- }
-
- protected void keyPressed(int var1) {
- this.processKey(var1);
- }
-
- protected void keyRepeated(int var1) {
- this.processKey(var1);
- }
-
- protected void processKey(int var1) {
- var1 = ((Canvas)this).getGameAction(var1);
- switch (var1) {
- case 1:
- this.offsetY += this.scrollPixels;
- break;
- case 2:
- this.offsetX += this.scrollPixels;
- case 3:
- case 4:
- default:
- break;
- case 5:
- this.offsetX -= this.scrollPixels;
- break;
- case 6:
- this.offsetY -= this.scrollPixels;
- }
-
- if (this.offsetX < this.width - this.image.getWidth()) {
- this.offsetX = this.width - this.image.getWidth();
- }
-
- if (this.offsetY < this.height - this.image.getHeight()) {
- this.offsetY = this.height - this.image.getHeight();
- }
-
- if (this.offsetX > 0) {
- this.offsetX = 0;
- }
-
- if (this.offsetY > 0) {
- this.offsetY = 0;
- }
-
- ((Canvas)this).repaint();
- }
-
- protected void paint(Graphics var1) {
- var1.fillRect(0, 0, this.width, this.height);
- if (this.image != null) {
- var1.drawImage(this.image, this.offsetX, this.offsetY, 20);
- }
-
- }
- }
-